package com.zsxb.crm.mapper;

import com.github.pagehelper.Page;
import com.zsxb.crm.dto.ClueReportDTO;
import com.zsxb.crm.dto.ContractPageDTO;
import com.zsxb.crm.pojo.CluesReportVO;
import com.zsxb.crm.pojo.Contract;
import com.zsxb.crm.vo.*;
import org.apache.ibatis.annotations.Mapper;

import java.time.LocalDate;
import java.util.List;

@Mapper
public interface ReportMapper {
    /**
     * 合同数据统计分页
     */
//    Page<TbContract> contractStatisticsListPageQuery(ContractPageDTO pageDTO);

    /**
     * 用户数据统计
     */
    List<UserReportVO> userStatistics(LocalDate beginDate, LocalDate endDate);

    /**
     * 学科数据统计
     */
    List<SubjectVO> subjectStatistics(LocalDate beginDate, LocalDate endDate);

    /**
     * 部门查询
     */
    List<DeptStatisticsListVO> deptStatisticsList(ContractPageDTO pageDTO);

    List<ReportSalesVO> salesStatistics(LocalDate beginDate, LocalDate endDate);

    List<CluesReportVO> clueStatistics(ClueReportDTO clueReportDTO);

    List<ClueReportVO> cluesStatistics(LocalDate beginDate, LocalDate endDate);

    List<ChannelReportVO> chanelStatistics(LocalDate beginCreateTime, LocalDate endCreateTime);

    Integer querycontractNumsByDate(LocalDate beginDate, LocalDate endDate);

    List<businessChangeVO> businessChangeStatistics(LocalDate beginCreateTime, LocalDate endCreateTime);

    Page<Contract> contractStatisticsListPageQuery(ContractPageDTO pageDTO);
}
